// pages/little-demo/list/item-selected/item-selected.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    items: [
      { name: '项 1', selected: false, desc: '描述这是item 1' },
      { name: '项 2', selected: false, desc: '描述这是item 2' },
      { name: '项 3', selected: true, desc: '描述这是item 3' },
      { name: '项 4', selected: false, desc: '描述这是item 4' },
      { name: '项 5', selected: false, desc: '描述这是item 5' },
    ],
    selectedIndex: 0,

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  toggleSelect(e) {
    console.log('toggleSelect', e);
    const index = e.currentTarget.dataset.index; // 从事件参数中获取数据与wxml中的data-xxx一致
    const items = this.data.items; // 取出data的数据并赋值到一个常量对象
    items[index].selected = !items[index].selected;
    this.setData({
      items // es6语法key与value一样时可以这种省略的写法
    })

    console.log('toggleSelect end ', this.data);
  },

  logSelected() {
    console.log('logSelected start')
    const selecteds = this.data.items.filter(item => item.selected)
    console.log('logSelected', selecteds)

    wx.showToast({
      title: '已输出到控制台',
      icon: 'none'
    });
  },

  toggleSelect2(e) {
    console.log('toggleSelect', e);
    const index = e.currentTarget.dataset.index; // 从事件参数中获取数据与wxml中的data-xxx一致
    const items = this.data.items; // 取出data的数据并赋值到一个常量对象
    // 将所有项的选中状态设为 false
    // items.forEach(item => item.selected = false)
    // 将被点击的项设为选中
    // items[index].selected = true;
    // this.setData({
    //    items // es6语法key与value一样时可以这种省略的写法
    // })

    this.setData({
      selectedIndex: index
    })

    console.log('toggleSelect end ',index, this.data.items[this.data.selectedIndex]);
  },

  logSelected2() {
    console.log('logSelected2', this.data.items[this.data.selectedIndex])
    wx.showToast({
      title: '已输出到控制台',
      icon: 'none'
    });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})